home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
remote
/
ra_001.zip
/
RA.DOC
< prev
next >
Wrap
Text File
|
1990-01-24
|
170KB
|
3,723 lines
┌─────────┐┌───────┐ ┌────────────┐┌──────────┬───────────┬───────┐
│ ┌───┐ ││ ┌───┘ │ ┌─┐ ┌─┐ ││ ┌───┐ ├────┐ ┌───┤ ┌───┘
│ │ │ ││ └───┐ │ │ │ │ │ ││ │ │ │ │ │ │ └───┐
│ └───┘ └┤ ┌───┘ │ │ │ │ │ └┤ │ │ └┐ │ └┐ │ ┌───┘
│ ┌────┐ │ └─────┤ │ │ │ │ │ └───┘ │ │ │ │ └─────┐
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
└──┘ └──┴─────────┴──┘ └──┘ └───┴───────────┘ └───┘ └─────────┘
┌──────────┬──────┐ ┌──────┐ ┌───────┐ ┌───────┐ ┌───────┐
│ ┌───┐ │ ┌──┘ │ ┌──┘ │ ┌───┘ │ ┌───┘ │ ┌───┘
│ │ │ │ │ │ │ │ └───┐ │ └─────┤ └─────┐
│ └───┘ │ │ │ │ │ ┌───┘ └─────┐ ├─────┐ │
│ ┌────┐ │ └────┤ └────┤ └─────┬─────┘ ├─────┘ │
│ │ │ │ │ │ │ │ │
└──┘ └──┴────────┴────────┴─────────┴─────────┴─────────┘
RemoteAccess v0.01
(C) 1989,90 Continental Software, All Rights Reserved
1
T A B L E O F C O N T E N T S
───────────────────────────────────────────────────────
OVERVIEW AND FEATURES 3
LICENSING INFORMATION 5
PREAMBLE AND CREDITS 6
PRODUCT SUPPORT 7
INSTALLATION 8
CONFIGURATION
Converting from QuickBBS 9
Configuration utility "RACONFIG" 9
Events 19
File areas 19
Message areas 20
SECURITY 22
MENUS
List of Menu Functions 23
Automatic Command Execution 36
Menu Templates 37
Setting up your menus 38
Creating the menus with "RAMENU" 39
EXTERNAL SUPPORT FILES
.ASC/.ANS text files 41
System control files 43
USERS
Editing the User File 46
Packing and Sorting the User File 46
MAIL NETWORKING
Overview - FidoNet 47
Required Software 48
Configuring RemoteAccess for FidoNet 48
MULTI-LINE OPERATION 49
REFERENCE SECTION
Keys that the sysop can use while a user is online 51
Keys that are active while waiting for a call 52
Command line parameters 52
Errorlevels 53
.ASC/.ANS text file control codes 53
Modem string translation 56
Questionnaire Script Language 56
BATCH FILE EXAMPLES 60
───────────────────────────────────────────────────────
2
The following products and names are the copyrighted
material and or trademarks of their creators:
QuickBBS,
Echogen & QEcho The QuickBBS Group, Inc.
DESQview Quarterdeck Systems
DoubleDOS SoftLogic Systems
TradeWars Chris Sherrick
Opus Wynn Wagner III
TosScan & FrontDoor Joaquim H. Homrighausen
BinkleyTerm Bit Bucket Software
ZmailQ Claude N. Warren
FidoNet Tom Jennings
IBM International Business Machines
O V E R V I E W A N D F E A T U R E S
────────────────────────────────────────────────────────────
RemoteAccess is a "fully-blown" remote bulletin board
package. It may be used as a stand-alone system or with a
front-end mailer if you wish to interface it to a mail
network such as FidoNet. It offers fully definable menus
with a unique template system which provides not only a
massive degree of flexibility in making your BBS look
different from any other, but also the lowest possible
maintenance.
Access to the 200 available message areas is controlled by
your menu structure, along with a sophisticated security
system which incorporates over 64,000 security levels with a
set of user-definable flags. For each security level you can
specify maximum download limits for different log-on speeds,
daily time limits, and optionally activate the built-in file
ratio system, limiting downloads by ratio to uploads by
either number of files or kilobytes.
Other security features include the disallowing of downloads
during peak hours, disallowing low speed callers at certain
times, and disallowing ANSI graphics at low speeds. You can
disallow one-word "pseudonyms", and optionally configure
the system to force a user to change passwords every x log-
ons. Undesirable user names and passwords are also definable
for maximum security. If you're unlikely to want to call
your own system, remote sysop access can be disabled, making
it virtually impossible for your account to be "hacked".
Direct support for high-speed modems up to 38,400 baud is
available, and RemoteAccess will optionally answer the phone
automatically to ensure that the modem will answer if your
BBS is "alive and well".
3
RemoteAccess supports as many as 99 lines simultaneously.
Full system access to all file and message areas is
available to each line (at your discretion), as are all
doors. Several "multi-line specific" features are provided
to augment multi-line operation. You can configure the
system to disallow one person logging on to more than one
line at a time. A "who else is on-line?" and "today's
callers" function is available to you, along with separate
system logs for each line. Logging is selectable between
either Opus or FrontDoor styles to aid integrated log
readability. Some basic user-to-user on-line messaging,
to be expanded at a later date, is also available.
RemoteAccess does NOT do its own internal multi-tasking. To
this end, we have attempted to make it as well-behaved as
possible. It has built-in time-slicing and screen-handling
support for DESQview, TopView, MultiLink, DoubleDOS and
PC-MOS/386. It is fully overlaid and occupies approximately
170k of memory when fired up. What do you do if you have say
a 300k DESQview window and want to run TradeWars in a shell?
No problem! Simply by specifying a control character on the
command line, you can instruct RemoteAccess to swap itself
lock, stock and barrel to EMS and/or disk leaving only 20k
resident.
A comprehensive file transfer system is also part of the
package. Six of the most popular protocols, including
Zmodem, Ymodem batch and Xmodem are built-in, and fifteen
slots for external protocols are available for you to add
any others. The protocol interface system is extremely
flexible, and has been tested with DSZ, Kermit (an Opus
compatible protocol), and BiModem. There are of course many
others we haven't tested, but most should work.
Extensive on-line facilities are available to the sysop. An
optional set of status bars provide a wealth of information
about both the person currently on-line and the system.
Several "hot-keys" are also available to perform a wide
range of functions.
As an added bonus, we have decided to use the QuickBBS-style
user and message database formats. This means that you can
continue to use your favourite QuickBBS utilities with no
need to convert to another format. Any incompatibilities in
the configuration files is taken care of by an upgrade
utility. We make no apology for the similarity between
RemoteAccess and QuickBBS. QuickBBS had many features that
we wanted, and compatibility gives the added bonus of
offering the sysop ease of installation and a familiar
environment.
To cater for both Opus and QuickBBS users alike, each user
has (at the discretion of the sysop) the option of using
hot-keyed menus or command stacking.
4
L I C E N S I N G I N F O R M A T I O N
────────────────────────────────────────────────────────────
"RA" refers to the executable programs and documentation
contained in RemoteAccess Bulletin Board Software
distribution archives released by Continental Software.
1. RA is the copyrighted material of Continental Software.
It may only be used in accordance with the conditions set
out in this license agreement.
2. You may use RA for a period of three weeks on a trial
basis in order to determine it's suitability for your
particular application. After this period you MUST register
each copy of RA that you run simultaneously. Multi-line
installations that share a common file base need only
register one copy.
3. To register RA, send your payment to:
"Registration/RA" "Registration/RA"
Continental Software Box 10
C/- International College 312b North Rocks Rd
195 Adelaide Terrace North Rocks 2151
Perth 6000 NSW AUSTRALIA
WESTERN AUSTRALIA
European residents may send their payments to:
"Registration/RA"
PO Box 131
1170 AC Badhoevendorp
NETHERLANDS
Cheques and money orders should be made payable to
Continental Software.
Please include either a FidoNet address or a stamped, self-
addressed envelope so that receipt of your payment can be
acknowledged.
Registration fee (per copy, in Australian dollars) is $40,
unless you are a Government department, or registered
business and you expect RA to generate revenue directly,
in which case the fee is $100.
Registration entitles you to use RA and any future versions
of RA for as long as you wish, subject to any special
licensing conditions attached to future versions.
Continental Software is in no way obligated to provide
future versions of, or support for, RA.
5. Site and Group registrations are available, and are dealt
with on a case by case basis.
5
6. You may not modify or otherwise reverse-engineer RA.
7. You are encouraged to distribute RA provided that no fee
is charged for its distribution. Pay Bulletin Board Systems
may charge their normal fee provided that no additional
charge for RA is levied.
8. RA may not be used in any unlawful or illegal manner.
9. Continental Software's liability resulting from your use
or inability to use RemoteAccess is limited to the amount
that the affected party has paid for it.
P R E A M B L E A N D C R E D I T S
────────────────────────────────────────────────────────────
Firstly, let me say that RemoteAccess was very much a team
effort. I had been running my bulletin board for about a
year, it was getting pretty busy so I put on a second line.
The software I was using was QuickBBS, so I did a heap of
work trying to get it running both lines. For the most part
it worked, but it was very clumsy. I was complaining to Bob
Fletcher, a sysop in Victoria, about it one night, and Bob
said something like "Well, YOU could always have a go at
something better!" So the basic concept was born. An "all-
singing, all-dancing" BBS package that would run multiple
lines and occupy as little memory as possible. "Piece of
cake!" I thought. In my spare time I started playing around
with a couple of file-displaying utilities written in Turbo
Pascal 5 (which I had just bought, and was anxious to
learn.)
Enter Phil. Someone mentioned that "some bloke called Phil
Mackay" was writing a toolbox of routines to manipulate the
QuickBBS message and user database files so I dropped him a
message. Phil was immediately taken by the idea and sent me
the source to what he had written. I was impressed. As it
happened, Bob was in Perth at this time and during a couple
of brainstorming sessions helped to refine what I already
had (which wasn't much).
Gradually I started to spend more and more of my spare time
working on it, and I started to realise the scale of the
project (which still kinda frightens me). I realised there
was no way I could do it all myself, so I enlisted the help
of one or two other people to write utilities, and "farmed
out" a fair bit of coding to Phil. All the following people
deserve recognition for their contributions:
Phil Mackay - all the high and low-level message database
routines, the menu editor and an infinite number of
6
suggestions, not to mention invaluable advice on many
occasions.
David Nugent - Wrote the message-base maintenance utility
"RAMSG", was ALWAYS ready to provide answers to any low-
level communications problem, and wrote the multitasker-
aware code.
Adam Blake - Did the configuration utility "RACONFIG" and
changed it twice a day when I made more mods to the main
program, uncomplainingly. (Well, almost).
Dave Hatch and Simon Blears - for allowing us to use their
systems to forward several megabytes of files from one end
of the country to the other.
The beta test team - thanks guys! Couldn't have done it
without ya. Too numerous to list here, all the current beta
systems are listed in the accompanying document RA-
BETAS.DOC.
Andrew Milner.
Perth, Western Australia.
─────────────────────────
P R O D U C T S U P P O R T
────────────────────────────────────────────────────────────
You can always get the latest version of RemoteAccess from
the following systems:
Andrew Milner, RemoteAccess HQ West
+61 9 386 2405 V32/HST
+61 9 389 8048 V22bis
FidoNet@3:690/625
Phil Mackay, RemoteAccess HQ East
+61 2 872 6159 V22bis
FidoNet@3:711/801
Reinier De Groot, RemoteAccess Support Europe
+31 1749 48422 HST
FidoNet@2:2/100
There is also an echomail support conference available,
called RA_SUPPORT to answer all of your questions.
New releases and the RA_SUPPORT conference should also be
available from any of the beta test sites, listed in the
accompanying document RA-BETAS.DOC.
7
I N S T A L L A T I O N
────────────────────────────────────────────────────────────
RemoteAccess should run on any IBM 80x86 compatible
computer. The only two programs you will need in addition to
the release package are DOS 3.x and a FOSSIL driver. The
FOSSIL is a memory-resident program that many communications
packages use to communicate with the modem. Two FOSSILs that
have been successfully tested with RemoteAccess are Ray
Gwinn's X00, and David Nugent's BNU. Either of these should
be readily available from any local bulletin board.
You will also need a modem that is capable of accepting
Hayes-type commands. The minimum memory requirement is
approximately 170K, but 512K is recommended.
1. Ensure that your CONFIG.SYS file contains these
statements:
FILES=20
BUFFERS=25
The more buffers you allocate, the faster
RemoteAccess will run. However, more buffers use
more memory.
2. Create a directory to put the main program files
in. The configuration example that follows later
assumes that this directory (the SYSTEM directory)
is C:\RA.
3. Ensure that your AUTOEXEC.BAT file contains a
command to set the environment variable RA to your
SYSTEM directory, so RemoteAccess can find its
configuration files:
SET RA=C:\RA
4. Copy all of the executable files from the
RemoteAccess distribution package into this
directory.
5. Create three more sub-directories:
C:\RA\MSGBASE This will hold the message
files the system creates.
C:\RA\MENUS To put your menus in,
C:\RA\TXTFILES To put files such as welcome
and disconnect screens in.
You are now ready to proceed to the next step,
CONFIGURATION.
8
C O N F I G U R A T I O N
────────────────────────────────────────────────────────────
If you are upgrading your system from a presently-existing
QuickBBS system, then read the next paragraph. If you're
installing RemoteAccess from scratch then skip the following
paragraph "QuickBBS to RemoteAccess".
Q u i c k B B S to R e m o t e A c c e s s
────────────────────────────────────────────────────────────
A utility, called QTORA.EXE has been provided to allow you
to convert your existing QuickBBS configuration files to the
RemoteAccess format. Note that it will not modify your
existing configuration files in any way. Copy QTORA to your
QuickBBS system directory and run it. It will prompt you
through the whole conversion process, and when it has
finished, copy all the files it has created to your
RemoteAccess system directory:
COPY *.RA C:\RA
Now, copy all the *.CTL files to your RemoteAccess system
directory:
COPY *.CTL \RA
The final step is to copy all of your BBS system files to
the RemoteAccess directories. Copy all the message files
(MSG*.BBS) and the user files (USERS.BBS and LASTREAD.BBS)
to the message base directory, and all the other *.BBS files
to the system directory.
The conversion process is now complete, and you can delete
QTORA.EXE, as it will not be needed for anything else.
" R A C O N F I G "
────────────────────────────────────────────────────────────
Return to the RemoteAccess system directory again, and fire
up the configuration utility, RACONFIG.EXE. You will use
this to choose the configuration options for your particular
system. You will see that there are six options in the menu
bar. Here is a walk-through of the various options.
Select the MODEM option, and then SETUP. This window
contains general configuration information for your modem.
The first item is the COMPORT setting. Set this to the
communications port you have your modem hooked up to. Valid
ports are 1-4. MAXIMUM BAUD refers to the highest modem-
9
computer speed your modem supports. If you are using a high-
speed modem you should lock the speed at the modem's maximum
speed to ensure the highest possible throughput. Refer to
your FOSSIL documentation on how to do this.
The INITIALISATION RESPONSE is the string that the modem
returns after RemoteAccess sends it the initialisation
string. Most modems return "OK". Likewise for the BUSY
RESPONSE, most modems also return "OK".
The RING STRING is the string the modem displays when
someone calls your system, to indicate that the call should
be answered. Most modems return "RING", some use "RINGING".
Check your modem manual and set this accordingly.
CONNECT 300 - CONNECT 38k are the response strings the modem
returns when a connection is made with another modem. Most
modems return a "CONNECT <Baudrate>" string, or simply
"CONNECT" for 300 baud. Note that if this is the case you
should specify the vertical bar after the string to indicate
the end of the string. (See MODEM STRING TRANSLATION in the
reference guide at the end of this document).
AUTOMATIC ANSWER. Setting this to "Yes" tells RemoteAccess
to make the modem answer the phone whenever it receives the
ring string by sending the answer command to the modem (see
INITIALISATION). If it is set to "No" then it is assumed
that the modem will answer the phone itself. "Yes" is the
preferred setting, as it ensures that your BBS will only
answer the phone if it is "alive and well". Otherwise, you
are likely to upset your users when they waste their money
on a BBS that answers the phone and then does nothing.
MODEM DELAY refers to a delay, in tenths of a second that
RemoteAccess waits between sending characters to the modem
during initialisation. Usually you will only need to raise
this above zero if you are using a high-speed modem that
cannot handle commands at high speeds. A typical example of
this is the Courier HST, which requires a delay of about 3.
Now select the MODEM INITIALISATION option. INITIALISATION
TRIES is the number of times RemoteAccess will attempt to
initialise the modem before aborting and returning an error
condition.
The INITIALISATION STRING is sent to the modem whenever
RemoteAccess is fired up. This string should prepare the
modem to take calls. See the reference section MODEM STRING
TRANSLATION at the end of this document for more
information.
10
The BUSY STRING is sent to the modem whenever you either
log-on locally or if you ESCape from the "wait for call"
sequence. You could either tell the modem to go "off hook"
with an "ATH1|", or simply not to answer the phone by
dropping DTR.
The ANSWER STRING is sent to the modem if you have set
automatic answer on, and a call comes in. Most modems will
answer a call upon receiving an "ATA|" from the computer.
Next select MODEM ERRORLEVELS. These values are used if you
have activated the "Shell to Mailer" feature. For full
information on this option, read the reference section on
COMMAND LINE PARAMETERS.
Select the MODEM RESTRICTIONS option. MINIMUM BAUD FOR LOGON
allows you to set the lowest baud rate for a user to log on
to your system. Calls at 300 baud may be restricted by using
the NO 300 START and NO 300 END options. To disable this
option, set both start and end times to 00:00.
You can also limit file downloads in the same way. However,
this option differs slightly in that the MINIMUM BAUD FOR
FILE TRANSFERS applies all the time. The DOWNLOAD START/END
times specify times during which downloads may occur. Note
that this time restriction may be cancelled for certain
users by setting a flag in their user record. See the
section on USERS for more on this.
This completes the MODEM configuration option. Now select
MISC from the menu bar, and then PATHS. Here you tell
RemoteAccess where all its associated files are stored. The
directories are the same as the ones discussed earlier in
the installation example. Enter the full directory paths to
your chosen directories. The trailing backslash is optional.
Select the MISC ADDRESS option. If you do not intend to use
your BBS in a mail network (eg. FidoNet, AlterNet) then skip
this section. Select MAIN ADDRESS and enter your network
address. If you have any alias addresses (AKAs), enter these
in one or more of the nine slots provided. For extra
information on network operation and an explanation of
addresses, see the section on MAIL NETWORKING.
Now select the MISC SECURITY option. NEW USER SECURITY is
the security level (0 to 64,000) that will be granted to a
11
new user who logs on for the first time. If you run a
private system, and do not want to allow new users to log
on, set this field to zero. In this case, the user is
notified that the system is private and is disconnected.
NEW USER FLAG SETTINGS is the security flag setting that
will be granted to the new user. See the section on SECURITY
for a full description of the RemoteAccess security system.
CRASHMAIL and FILE ATTACH security is related to sending
private messages to other systems if you are part of a mail
network. See the section on MAIL NETWORKING for more
information on this.
Select MISC PROTOCOLS. This option allows you to interface
up to fifteen external protocols for your users to use, in
addition to the six that are built-in. When a user selects
to upload or download a file, he/she is presented with a
hard-coded menu that lists the available protocols,
including your external ones. The NAME field is the
protocol name that the user sees in this menu. The KEY is
the keypress that should activate the protocol. Note that
the KEY must be unique. In other words, since [Z]modem is an
internal protocol, you can't use [Z] to activate an external
protocol.
Before RemoteAccess activates the external protocol, it
creates a control file that tells the protocol which files
to send or receive. This file consists of some general
information and a list of files, one per line. You may
define exactly what each line looks like. If you select
EXTENDED CONTROL FILE, then RemoteAccess will write the
information needed by Opus-compatible external protocols at
the beginning of the file before the file list.
If the protocol has the capability to send of receive more
than one file at a time, set BATCH AVAILABLE to "Yes".
You may temporarily disable the current protocol by setting
its status to DISABLED, re-enabling it later by setting it
to ENABLED.
The LOG FILE NAME is the full path and name of the log file
that the external protocol writes. This file contains
information about what files were actually sent or received.
Without this information, RemoteAccess will not be able to
update the user's record.
The CONTROL FILE NAME is the full path and name of the
control file that RemoteAccess creates before activating the
protocol. In order to allow the use of as many different
protocols as possible, you have full control over the format
of this file. The DOWNLOAD CONTROL STRING determaines the
12
format of each file entry. Inserting a "@" in the string
substitutes that position with the file name. For example,
if you wanted to download the file
C:\FILES\IBM\FUN\CASINO.ZIP using an Opus type external
protocol, you would set the control file string to:
Send @
When the control file is created, this would be expanded to:
Send C:\FILES\IBM\FUN\CASINO.ZIP
If the user were to select a batch download, say RA*.ZIP,
the wildcard/pattern match is expanded to a full list of
fully qualified path and file names.
The UPLOAD CONTROL STRING works in exactly the same way,
except that for batch uploads, instead of specifying the
full file name, it substitutes just the path to the upload
directory, as the filenames are not known prior to the
upload.
UPLOAD/DOWNLOAD COMMAND LINE tells RemoteAccess what program
name to execute in order to activate the external protocol.
It is possible to insert variables into the command line
using special control characters. For example, the string:
PROTNAME.EXE Send *B
would be expanded to:
PROTNAME.EXE Send 2400
For a full list of special control codes, refer to the
description of a Type 7 menu command in the MENU COMMANDS
section. In addition to these codes, the # symbol can be
used if the filename to send or receive needs to be
specified on the command line.
When the external protocol has finished and control is
returned to RemoteAccess, the log file that was created is
scanned to extract information about what files were sent or
received. RemoteAccess scans the file for the UPLOAD or
DOWNLOAD LOG KEYWORD. As soon as it finds that word, it will
scan forward x number of words to get the name of the file
transferred and a description, if available. To illustrate
how this works, look at this extract from a BiModem log:
= 10 Sep 14:10:10 BMOD DL-B \GRAPHICS\FORMATS\LOCKLEAR.ZIP
= 10 Sep 14:12:22 BMOD DL-B \GRAPHICS\FORMATS\AWESOME.ZIP
The DOWNLOAD LOG KEYWORD can be any word in the log file
that indicates the transfer of a single file. The keyword
would by set to "DL-B", and the NAME WORD # set to 1.
RemoteAccess scans the above entries until it hits "DL-B",
13
and then counts forward 1 word to get the file name. Uploads
work in the same way, but a description word number may also
be specified, as some protocols get file descriptions from
the user directly. If RemoteAccess finds a description it is
appended to the end of the FILES.BBS file, otherwise the
user is prompted for the description.
Select the MISC COLOURS option.
This menu allows you to choose the various colours that
RemoteAccess uses. Use either the default settings, or
select your own.
Select the MISC GENERAL option, and then select USERS. The
ANSI GRAPHICS setting will determine whether the user will
be allowed to use or not use ANSI graphics. If this is set
to "No", only plain ASCII files will be displayed. A "Yes"
entry will force ANSI graphics on, and "Ask" will give the
user the option of either ANSI or plain ASCII when he/she
logs on. This format is the same for CLEAR SCREEN and MORE
PROMPTING.
If ASK FOR BUSINESS/DATA PHONE NUMBER is set to "Yes", new
users will be asked for this number. RemoteAccess accepts a
wide range of phone number formats, but attempts to disallow
obvious "fakes". ASK FOR HOME/VOICE NUMBER operates in the
same way.
If you set ALLOW ONE WORD NAMES to "No" then RemoteAccess
will "insist" on a full name of at least two words when each
user logs on. Otherwise, no checking will be performed on
user names.
NUMBER OF TIMES TO TRY FOR PASSWORD sets the maximum number
of invalid password attempts. After this is exceeded the
user will be disconnected.
LOGONS BEFORE FORCED PASSWORD CHANGE is another security
feature. If this is set to any non-zero value, then all
users (excluding the sysop) will be forced to change their
password every number of logons as determined by its value.
TIME LIMIT FOR LOG-ON PERIOD specifies how much time to
grant to a user before the system knows how much time he/she
is entitled to. You should make this long enough to enable a
new user to complete the new user procedure and
questionnaire, if you have one.
MAXIMUM USER INACTIVITY PERIOD determines how long to wait
during periods of inactivity before disconnecting. The
inactive time period is measured from the last character
sent to the modem. This feature is automatically disabled in
local mode.
14
ALLOW USERS TO UPLOAD MESSAGES. This option is not yet
implemented, but will enable a user to upload an already
prepared message using any of the available file transfer
protocols.
The KILL MESSAGES AFTER SENT option applies to NetMail sent
through a mail network. When the message is entered, if set
to "Ask", it will ask the user whether to delete his/her
message after it has been exported from the message
database.
STRICT PASSWORD CHECKING is an invaluable security feature
which if enabled, will check passwords that users enter. You
can specify certain undesirable passwords in a control file
(see the section on EXTERNAL FILES), such as "Secret" or
"Test". It will also disallow the user's first or last name
as a password, and checks the old and new passwords for
phonetic similarity.
You may also specify the minimum password length that users
may select. Longer passwords mean better security, a value
of 4 is recommended as an absolute minimum.
RemoteAccess may be configured to behave either like
QuickBBS with hot-keyed menus, or like Opus with command
stacking facilities. If the USE HOT-KEYS option is set to
"Yes", the system defaults to hot keys for each new user. If
the option is set to "Ask" then each new user is asked to
choose between hot keys or command stacking. The user may
change his or her choice by selecting the toggle hotkey menu
command (see the section on MENU FUNCTIONS).
If a user logs on and is disconnected because he/she enters
his or her password incorrectly, RemoteAccess can notify
that user of a possible attempt at guessing the password, by
way of a private message. In the SECURITY WATCHDOG MESSAGE
AREA field, specify the message area number (as per your
message area configuration) that the warning message should
be placed in. A value of zero disables this feature. In
addition, you will need to create an ASCII text file called
WATCHDOG.MSG in the system directory that contains the text
of the message that is sent to the user.
Select GENERAL PAGING. PAGE LENGTH specifies the number of
seconds to sound the bell at the local console when a user
pages you for a chat. MAXIMUM PAGES allows you to limit the
number of times a user may page you during one session. You
may also specify paging "hours" using the PAGING START/END
TIME option. If either field is set to a non-zero value,
users will only be allowed to page you between these hours.
15
Now go to GENERAL SCREEN. You can force the system to run in
Monochrome Mode by setting MONOCHROME to "Yes". If you are
not using RemoteAccess in a multi-tasking environment, then
set DIRECT WRITE MODE to "Yes". This will cause all screen
output to be written directly to Video RAM instead of using
BIOS calls, and will result in a significant speed increase.
If you use one of the older CGA cards that is prone to
"snowing", set SNOW CHECK to "Yes".
GENERAL SYSTEM is the next option in the MISC menu. Enter
the name of your BBS in the SYSTEM NAME field, and your own
name in the SYSOPS NAME field. The LOADING MESSAGE field is
displayed to a caller whenever RemoteAccess exits to a batch
file or runs a door in a shell. Put something like "One
moment please .." in here.
LIST PROMPT is displayed at the bottom of a type 6 menu
command. See the MENU COMMANDS section for more information.
The QUOTE STRING is a highlight character that RemoteAccess
will place in front of any message that is replied to. For
example, a message quoted using " > " as the quoter would
look like:
> I have been using RemoteAccess for 2 months now and
> love it!
I have to agree with you there, Tom. Flexibility-wise
you just can't beat it.
A '@' character in the quote string will be translated into
the initials of the person whose message is being quoted.
The UPLOAD CREDIT FACTOR provides a way of rewarding your
users for uploading files to you. If this value is set to a
non-zero value, after each upload session, the user is
granted that many seconds per minute of upload time. So, if
you set the credit factor to 30 (seconds), and a user spends
10 minutes uploading, he/she would be granted an extra 5
minutes for that session. Note that during uploads the timer
is "frozen" in addition to this bonus.
If you set ALLOW FAST LOGONS to "Yes", then whenever
RemoteAccess is activated in local mode, it will assume that
it is the sysop who is logging on, and will prompt for
password only.
If you are running more than one line, you should set CHECK
FOR MULTI-LOGON to "Yes". This will prevent a user from
logging on to more than one line at the same time, and
effectively using his/her entire daily time limit on EACH
LINE.
16
If you never (or rarely) call your own BBS remotely, you
should disallow sysop remote access by setting ALLOW SYSOP
REMOTELY to "No". This makes it almost impossible for an
unknown "hacker" to gain access to your system via your own
account.
EXCLUDE SYSOP FROM LIST, if set to "Yes", will cause the
sysops name to be ommitted from a User List, List of Today's
Callers, Who Else Is Online, and the Last Caller functions.
Useful if you don't want a user to know you're there!
CHECK FOR MAIL AT LOG-ON, when enabled, will force the
system to scan the message-base for new mail addressed to
the user (regardless of what area it is in, provided the
user has access to that area) at log-on.
The FULL MAIL CHECK option determines the type of mail check
that is performed. A full check scans from the start to the
end of the message-base for all mail addressed to the user
that does not have the "Received" flag set. If you set the
option to "Off", the message base is only checked from the
last message that the user read. While this is much faster,
there is the possibility that some mail may be skipped if
the user elected not to read his/her mail during the last
logon.
When a user gets a list of files in a file area, the format
of a file entry is the file name, length, date and
description. It is possible to omit the date from each line,
thus making it possible to have more verbose descriptions by
setting SHOW FILE DATES to "No".
Note that the asterisk normally displayed immediately after
the date which indicates the file is new since the last log-
on is still displayed.
When a file is uploaded using a batch protocol such as
Zmodem, or Ymodem, the original date of the file is normally
preserved when the file is saved in the upload area. This is
of little use if the file was originally created in 1987, so
RemoteAccess will, if the RESET UPLOAD FILE DATES option is
enabled, reset the date stamp of the file to the date on
which it was uploaded.
By inserting a special control code in a text file it is
possible to automatically activate a program in a shell when
the text file is displayed. As explained in the TEXT FILE
CONTROL CODES section, there are important security
considerations that must be looked into if you intend to use
this feature. If you aren't going to use it, set SHELLS FROM
TEXT FILES to "No".
The next option in the SYSTEM menu is the SYSTEM LOG FILE
NAME. RemoteAccess logs all user activity in detail to a
human-readable text file. Set the name of the log file to
17
point to your system directory, for example C:\RA\RA.LOG.
Next, select the logging format that most suits you; Opus
mode contains more information, including the line number in
a multi-line system. The FrontDoor format is much more
compact.
It is possible to disable uploads when the amount of free
space on your upload drive falls below a preset level. For
example, to disable uploads if there is less than 1 megabyte
free, set MINIMUM UPLOAD SPACE to 1000 (kilobytes).
If you are installing RemoteAccess on a multi-line site (ie.
you are going to be running more than one line), you MUST
set the MULTI LINE option to "Yes". This enables extra
file/message checking routines to ensure that a conflict
between two lines accessing the same data never arises. If
you are running only one line, setting this option to "Off"
will disable this checking and significantly increases the
system's operating speed.
The ENVIRONMENT option refers to the type of multi-tasking
system that you will be running RemoteAccess under. If set
to "Auto-detect", RemoteAccess will attempt to determine the
multitasker in use when it fires up. On some
hardware/software configurations it may not be able to
correctly detect it's environment. To overcome this, you can
force RemoteAccess to "assume" that it is running under a
specific multitasker. Environments currently supported are
DoubleDOS, DESQview, TopView, MultiLink, PC-MOS/386 and the
"standard" AT BIOS. RemoteAccess will time-slice, or give up
CPU time, to other tasks when it is waiting for a call or at
a prompt. The result is a significant overall system
performance improvement.
The last option in the MISC menu is ALT-FKEYS. When one of
the ten function keys on your keyboard is pressed in
conjunction with the ALT key, RemoteAccess will do one of
two things : If the command string that you have assigned to
the function key that is pressed is a standard DOS command
line, then that line will be executed in a shell while
RemoteAccess remains in memory. If, on the other hand, the
first character of the command string for the function key
is the query symbol (?) followed by a number, RemoteAccess
will exit to DOS with an errorlevel equal to the number. For
example, suppose two entries looked like this:
5 : ?110
6 : C:\COMMAND.COM
Pressing ALT-F5 would cause RemoteAccess to exit to DOS with
an errorlevel of 110, and ALT-F6 would execute a copy of
COMMAND.COM in a shell.
18
E v e n t s
────────────────────────────────────────────────────────────
The RemoteAccess Event Editor allows you to set pre-
determined times during the week when RemoteAccess will
automatically exit to your batch file and perform certain
functions, usually some kind of system maintenance. Select
EVENTS from the main menu bar. This window contains all
event information. You may define up to 20 events to run at
any time during the day. In addition to this, it is also
possible to specify that an event only run on a particular
day or days of the week.
To modify an event, simply move the highlight bar to the
event you wish to alter, and press [CR]. Use the cursor keys
to move between entries in the event edit window, and enter
the time you want the event to start at, in 24 hour format.
Next, enter the errorlevel; when the event is activated,
RemoteAccess will exit to the batch file from which it was
called at this errorlevel. Your batch file should trap this
errorlevel and act accordingly. In this window, you can also
specify what days you would like the event to run on, and
whether the event is enabled or disabled. More information
on events is contained in the BATCH FILE EXAMPLES section.
F i l e s
────────────────────────────────────────────────────────────
Select FILES from the main menu bar. This is where you
define your file areas. Note that this data is optional. It
is only needed if you intend to either use any of the file
scan menu functions, or activate the file area template
system.
Most of the entries here are fairly straightforward. The
FILE AREA NAME is the name of the file area as the user will
see it. The FILE PATH is a fully qualified directory path
that points to where the files in this area are stored, for
example C:\FILES\IBM\GAMES\. Note that the trailing
backslash is optional.
Access to each file area is controlled by raising the
SECURITY LEVEL and FLAGS to the minimum combination required
for a user to "see" the area. For example, if a user uses
the "Search for new files" function, only file areas to
which he/she has the required security/flags setting will be
checked.
19
M e s s a g e a r e a s
────────────────────────────────────────────────────────────
The last configuration section is the message areas. From
the MESSAGES menu, select MESSAGE BOARDS. You may define up
to 200 different areas, each with it's own attributes and
security requirements.
Firstly, give the area a name. This should be a meaningful
description of its content, for example "IBM Users",
"Cooking", or "Entertainment". Avoid using names like
"Message Area 1". If you wish to "delete" the message area,
simply set the area name to nothing.
Each area can be one of three TYPES. LOCAL, if the message
area is available on your BBS only, or if you are in a mail
network such as FidoNet, ECHOMAIL or NETMAIL. These latter
two types are explained more fully in the MAIL NETWORKING
section. If you are not part of a mail network, set the type
to LOCAL.
MESSAGE STATUS controls the types of messages that users are
allowed to post in the area. You have the choice of PRIVATE
ONLY, PUBLIC ONLY, PRIVATE/PUBLIC and READ ONLY. It may be
desirable to allow only public messages in general
discussion areas, or likewise private only in user-to-user
message areas to ensure that all messages in that area may
be read only by the sender or the recipient of the message.
Message areas marked as READ ONLY may only have messages
posted in them by the sysop. This is useful for, say a
general announcement area.
In certain areas you may wish to allow users to post
messages using an alias, or "pseudonym". If so, set ALIASES
ALLOWED to "Yes". Entering a message in one of these areas,
the user is prompted for an alias with which to post the
message. RemoteAccess will not allow the user to use either
any other user's name or "Sysop" as an alias.
The next three options are used by RAMSG, the message-base
maintenance utility. In order to keep the size of your
message-base files down to a reasonable level it is
necessary to regularly delete "old" messages. You should set
these options according to the requirements of each area.
For example, if the area is high-traffic, by setting DAYS
UNTIL OLD MESSAGES ARE KILLED to 7, RAMSG will delete any
message in that area that is over a week old. You can use
these options in combination. By setting DAYS UNTIL OLD
MESSAGES ARE KILLED to 14 and MAXIMUM NUMBER OF MESSAGES to
200, RAMSG will delete any message in that area which is
either over 14 days old as well as the oldest messages in
the area until there are only 200 messages left. If the
message area is important, say user-to-user private mail,
you can instruct RAMSG to delete only messages which have
already been received that are a certain number of days old
by setting the DAYS AFTER RECEIVED MESSAGES ARE KILLED
option.
20
The AKA ADDRESS and ORIGIN LINE options are used for
EchoMail type areas. You can set different origin lines for
each area, along with any one of your network addresses, to
be appended to the end of messages that are posted in the
area. If no origin line is specified, then RemoteAccess will
use the origin line defined in the DEFAULT ORIGIN LINE
option.
Access to the message area is controlled by READ, WRITE and
SYSOP security levels and access flags. Read Security is the
minimum security level the user needs to be allowed to read
messages in each message area. Likewise, message posting and
replying is only permitted if the user's security level is
equal to or higher than the Write Security setting. SYSOP
security access permits reading of all messages in the area,
even if they are private and addressed to another user. This
is useful for message areas which are run by assistant
sysops and the like, so they can check messages for suitable
content and delete off-topic ones. A full discussion on
security can be found in the SECURITY section.
Going back to the MESSAGES main menu option, select
EXTERNAL EDITOR. This is the DOS command line that will be
used to activate a full screen message editor, if one is
installed. This option is available only to users of ANSI
graphics. The full screen editor is a third-party package
that enables messages to be entered in a "word-processing"
environment, with cursor movement and text formatting
ability. QuickEd is one such package that interfaces
directly to RemoteAccess.
Go to the QUIT menu, and select "Yes" to save any changes
that have been made. This completes the tutorial on
RACONFIG.
21
S E C U R I T Y
────────────────────────────────────────────────────────────
All user-security is controlled by a security level and set
of access flags. The security level is any number from 1 to
64,000. Setting a user's security level to zero will lock
him or her out of the BBS. There are thirty-two access flags
arranged in four sets of eight individual flags, each of
which can be either ON or OFF. An ON flag is represented by
a "X", and an OFF flag by a "-".
Firstly let's look at menu security. Each menu is made up of
a number of lines, each of which may have a command
associated with it. (The structure of menus is explained
fully in the next section). In order for a menu line to be
visible (and selectable) to a user, the user's security
level must be equal to or greater than the security level
assigned to that line. In addition to this, every flag that
is set ON in the menu line must also be set ON in the user's
flag setting.
Read/Write and Sysop access to message areas is controlled
in the same way. To be able to read messages in an area, the
user must have not only a sufficient security level, but
also at least the flags that are defined in RACONFIG for
that area. Similarly, the file area access security/flag
system works in the same way, BUT the settings only affect
the three file search menu functions. To restrict
up/download access to certain areas, you will have to use
menu security.
M E N U S
────────────────────────────────────────────────────────────
This is possibly the most important stage in configuring
your BBS. The menus that you create will give the system
it's own "feel", and will make your system look completely
different from the one next door. The menu system gives you
one hundred percent flexibility not only cosmetically, but
in allowing and disallowing access to certain functions and
parts of your BBS to groups of users.
The menus are line-oriented. Using the menu editor supplied,
you enter the lines one at a time. Each line has a line of
text that is displayed to the user, a menu "type", a minimum
security level and flag setting required to access that
line, and some optional data that is used by some menu
types.
There are approximately sixty menu functions that may be
activated by the user pressing the key you have linked to
that function. These functions are explained fully in the
following pages.
22
M e n u f u n c t i o n s
────────────────────────────────────────────────────────────
Type : 1
Name : Goto another menu
Optional Data : <Menu Name> [Password] [/F=<File Area>|+|-]
[/M=<Message Area>|+|-]
This function causes a jump to another menu, which has been
created with the editor and saved as <Menu Name>. If
[Password] is specified then the user will be asked to
supply a non-case-sensitive password before proceeding.
<File Area> and <Message Area> set the currently selected
file and message areas respectively for the template system.
See the section on MENU TEMPLATES for a full explanation on
this.
────────────────────────────────────────────────────────────
Type : 2
Name : Gosub another menu
Optional Data : <Menu Name> [Password] [/F=<File Area>|+|-]
[/M=<Message Area>|+|-]
As for Function 1, but saves the path to the last menu on a
"stack", making it possible to return to the calling menu
with a type 3 function. Note that menus called in this way
may be nested to a maximum of 50 levels.
────────────────────────────────────────────────────────────
Type : 3
Name : Return from gosub
Optional Data : None
Use this function to return from a Gosub (type 2) to the
previous menu.
────────────────────────────────────────────────────────────
Type : 4
Name : Goto menu after clearing menu stack
Optional Data : <Menu Name> [Password] [/F=<File Area>|+|-]
[/M=<Message Area>|+|-]
As for function 1, but before jumping to the new menu, the
gosub menu stack is cleared. Obviously you can't use a type
3 return straight after this!
────────────────────────────────────────────────────────────
23
Type : 5
Name : Display a *.ASC/*.ANS text file
Optional Data : <1-8 character name>
Displays a file in your textfile directory (as defined in
RACONFIG). If the user has ANSI enabled, then <Filename.ANS>
will be displayed. If the user does not have ANSI enabled,
or <Filename.ANS> is missing then <Filename.ASC> will be
displayed. It is possible to display comprehensive system
and user details by inserting special control codes in the
file. These codes are listed in the TEXT FILE CONTROL CODES
section.
────────────────────────────────────────────────────────────
Type : 6
Name : Bulletin menu
Optional Data : <1-8 character name>
Displays the <1-8 character name> file in your text file
directory as does function type 5. The user is then prompted
for a file suffix of length 8 - <length of file>. The suffix
is appended to the original file name, and that text file is
displayed as it would be in a type 5 function. For example,
if the optional data field contained a file name of
BULLET, the file BULLET.ASC/ANS would be displayed. Then
the user is prompted for a 2 character input. If the user
typed in "1B", then the file "BULLET1B.ASC/ANS" would be
displayed. The original text file defined in the optional
data should therefore contain a list of available bulletins.
────────────────────────────────────────────────────────────
Type : 7
Name : Run an external program in a shell
Optional Data : <Command Line> [Control Codes]
This command will run an external program (a "door") in a
shell while the user is on-line. Examples are on line games,
mail-checking facilities and so on. (Refer also to type 15 -
Exit to DOS for an alternative way of running external
programs). The FULL name of the program must be specified if
it is an .EXE or .COM file. To run one of these two simply
put the name of the program in the optional data field. If
you wish to call a batch file, this must be done via
COMMAND.COM, the memory-resident command-line processor. So
to run your TradeWars batch file, the command line could
read:
C:\COMMAND.COM /C \BBS\DOORS\TW2.BAT
Many programs require extra information to be passed on the
command line, so the following control codes may be used. In
each case, the code is replaced by it's value:
24
*B : User's baud rate, or 0 if local
*C : Full path and name to COMMAND.COM
*F : User's first name
*G : ANSI graphics, 0=Off/1=On
*H : Normally the FOSSIL is de-initialised before
running an external program to avoid any possible
conflicts between the FOSSIL and the program.
Specifying this parameter leaves the FOSSIL "hot"
or active.
*L : User's last name
*M : Activate MemorySwap feature. RemoteAccess attempts
to swap itself and all the memory it occupies to
EMS (if installed) and disk, leaving only 20k
resident. Great for running memory-hungry
programs, but it takes a few seconds to do the
swap. If it can't do the swap, it will try a
normal shell.
*N : Line number, as specified by the -N command line
parameter
*P : Communications port being used (1-4)
*R : User's record number in the user file
*T : Time remaining for current call
*! : Freeze the system timer for the duration of the
shell. Useful for running external utilities like
full-screen chat programs etc.
In addition to this command line information that can be
passed, RemoteAccess also creates two data files before the
shell. DORINFO1.DEF, which is a RBBS-compatible file, and
EXITINFO.BBS, which contains an extremely comprehensive
amount of system and user information. The structure of this
file can be found in the RemoteAccess structures document,
RASTRUCT.
Note that the external program must do it's own time limit
and carrier watchdogging, in the event that the user does
not exit from the program correctly.
────────────────────────────────────────────────────────────
Type : 8
Name : Product information
Optional Data : None
25
Displays product information including the version number
and copyright information. If a user is on-line remotely,
the name and version of the FOSSIL in use is also displayed.
────────────────────────────────────────────────────────────
Type : 9
Name : Terminate the session
Optional Data : None
Displays the GOODBYE.ASC/ANS text file and hangs up on the
user by dropping the DTR signal to the modem. To this end,
make sure your modem's DTR line is not "forced high"
continuously.
────────────────────────────────────────────────────────────
Type : 10
Name : System usage
Optional Data : None
Displays a nicely formatted full-screen graph that depicts
system usage in terms of percentage use per hour.
────────────────────────────────────────────────────────────
Type : 11
Name : Page sysop to chat
Optional Data : <Paging string>
Displays the <paging string> to the user and pages the sysop
for a chat. The sysop may select "C" to chat with the user,
or "A" to abort the page. You may break in for a chat at any
time by pressing ALT-C. All sysop keys are listed in the
reference section of this manual. During a chat, the system
timer is "frozen", and is re-started when the chat is
terminated. The sysop terminates chat mode with the ESCape
key. During chat, you may open a capture file to log the
chat session by pressing CTRL-A, and again to close the
capture.
────────────────────────────────────────────────────────────
Type : 12
Name : Questionnaire
Optional Data : <1-8 character file name>
Initiates a questionnaire. The <file name> is the first part
of the name of the questionnaire file. All questionnaire
files are stored in the system directory, and have a name
extension of .Q-A. User's responses are stored in an output
file named <file name>.ASW. There is a full tutorial on
questionnaires, including the script language in the
reference section of this manual.
RemoteAccess has a hard-coded questionnaire. If present, it
26
will initiate the questionnaire NEWUSER.Q-A for a new user
after the hard-coded text file NEWUSER2.ASC/ANS is
displayed. For information on hard-coded (external support)
files, refer to the EXTERNAL SUPPORT FILES section.
────────────────────────────────────────────────────────────
Type : 13
Name : User listing
Optional Data : None
Displays a list of users in the user file. Lists users name,
location, file ratio, and the last time he/she called the
system. This function has some basic pattern matching
capabilities on the name field.
────────────────────────────────────────────────────────────
Type : 14
Name : Time
Optional Data : None
Shows the current date and time, along with the user's daily
time limit, time used and time remaining for the day.
────────────────────────────────────────────────────────────
Type : 15
Name : Exit to DOS
Optional Data : <Errorlevel>
This function causes RemoteAccess exit to the batch file
that executed it, with a specific errorlevel. Set the
optional data to the errorlevel you wish to pass to the
batch file. The batch file should trap the errorlevel and
act accordingly. If you exit while the user is still on-
line, to log the user back on invoke RemoteAccess with the -
R command line parameter. This will force it to read the
EXITINFO file that was written at the time of the previous
exit and take the user directly to the top menu. Note that
errorlevels 0 to 5 are reserved by RemoteAccess for system
use (see the reference section on ERRORLEVELS for a complete
list and description of these and how to use them), and
should not be used.
────────────────────────────────────────────────────────────
Type : 16
Name : Alter location
Optional Data : None
Allows the user to change the "location" field in his/her
user record.
────────────────────────────────────────────────────────────
27
Type : 17
Name : Alter password
Optional Data : None
Allows the user to change his/her password. Frequent
password changes should be encouraged to ensure system
security, and in fact there is an option to force a change
of password every certain number logons (refer to
"RACONFIG").
────────────────────────────────────────────────────────────
Type : 18
Name : Alter screen length
Optional Data : None
Allows the user to alter the length of his/her screen
display. This affects the "Continue?" prompt.
────────────────────────────────────────────────────────────
Type : 19
Name : Toggle screen clearing
Optional Data : None
Allows the user to specify whether he/she would like screen
clearing codes sent.
────────────────────────────────────────────────────────────
Type : 20
Name : Toggle page pausing
Optional Data : None
Allows the user to enable or disable the "Continue?" prompt
at the end of each screen page.
────────────────────────────────────────────────────────────
Type : 21
Name : Toggle ANSI graphics
Optional Data : None
Allows the user to select, or deselect ANSI graphics. If the
user disables ANSI, use of the full screen message editor is
also disabled.
────────────────────────────────────────────────────────────
Type : 22
Name : Check the mailbox
Optional Data : None
Checks to see if there is any mail addressed to the user
that he/she hasn't yet read. This can be done automatically
28
at log-on by setting the appropriate option in RACONFIG. See
the section on configuration for details of the two types of
mail-check available. All new messages are marked for later
retrieval with the "Read Marked" option. Note that the user
will only be notified of mail in areas that he/she has read
access to, as defined in RACONFIG. Although the system only
prompts the user with a "Read mail now [Yes/no]" prompt,
several options can be activated. Valid choices are [R]ead,
[S]can, [Q]uickscan, [K]ill, or [M]ark as received.
────────────────────────────────────────────────────────────
Type : 23
Name : Read messages
Optional Data : <Message area #> or /M
Initiates the message reading routines. Checks that the user
has read access to the message area first. The user may
select several different scan modes. These include forward,
reverse, new messages, marked messages, individual message,
or a selected scan according to the "To:", "From:" or
"Subject" fields. Online help is also available from this
hard-coded menu in the form of a text file. Put the message
area number on the optional data field, or 0 to select
"combined" mode (see function type 28 for more on this
feature). If you put a "/M" in the optional data field in
place of the area number, RemoteAccess will automatically
substitute the currently selected template message area into
the data field. See MENU TEMPLATES for more on this. The
message area number refers to number assigned to the desired
area in RACONFIG.
────────────────────────────────────────────────────────────
Type : 24
Name : Scan messages
Optional Data : <Message area #> or /M
Same as the READ message function (type 23) but only
displays the message header of each message. The user also
has the option of marking messages for later retrieval.
────────────────────────────────────────────────────────────
Type : 25
Name : QuickScan messages
Optional Data : <Message area #> or /M
Same as the READ message function (type 23) but each message
is listed as a single-line entry containing message number,
the poster of the message, who it is addressed to, and the
subject line.
────────────────────────────────────────────────────────────
29
Type : 26
Name : Delete message
Optional Data : None
Allows a user to delete a message provided that:
- The message is "to" or "from" him/her OR
- The user has sysop access to the area the message is
in.
────────────────────────────────────────────────────────────
Type : 27
Name : Post message
Optional Data : <Message Area #> or /M [/L] [/T=<Name>]
Post a message in the specified area (or the currently
selected template area if the "/M" is used). The user must
have either write or sysop access to the message area, as
defined in RACONFIG. The /L option will log the user off
immediately after the message is saved (useful for a "Leave
message to sysop before disconnecting" option). The /T=
option will force the message to be addressed to a specific
user. Simply place the user's name in the optional data
field after the /T= parameter to select this option. For
example, on my "log-off" menu, I have the following entry:
Menu Type 27
Optional Data: 60 /L /T=Andrew_Milner
(Any messages to "Sysop" are redirected to the sysop's name
as defined in RACONFIG). If you do use a full name, be sure
to use underscores in place of spaces.
────────────────────────────────────────────────────────────
Type : 28
Name : Select combined areas
Optional Data : None
Allows the user to select any combination of message areas
for "combined" mode message reading/scanning/quickscanning.
The user is shown a list of available areas and may toggle
any of them "ON" or "OFF". This combination of areas is
saved as part of the user's permanent user record, and is
restored at next log on. To read messages on the "combined"
area, use a normal read/scan/quickscan menu function but set
the message area number in the optional data field to zero.
Area zero is hard-coded as this combined area and cannot be
defined by the sysop.
────────────────────────────────────────────────────────────
30
Type : 29
Name : Move a file
Optional Data : <Full source path>
Primarily intended as a sysop/assistant sysop function, this
allows the user to move files from a pre-defined area
<source-path> to any valid DOS directory without the need
for remote access to DOS.
────────────────────────────────────────────────────────────
Type : 30
Name : Directory
Optional Data : <Full path> or /F
Displays an MS-DOS style directory of the directory
specified in the optional data field, showing name, length
and date of each file.
────────────────────────────────────────────────────────────
Type : 31
Name : List files
Optional Data : <Full path> or /F
This option displays a list of files available for download
from the directory specified by the path name in the
optional data field. The file names and descriptions are
contained in a file called FILES.BBS. This file is
automatically maintained by RemoteAccess when files are
uploaded, but it may also be edited by the sysop. The file
consists of a single word file-name per line with a
description, up to 255 characters in length. Descriptions
that exceed the width of the screen are automatically
wrapped to the next line. The upload date and length of each
file is also displayed (optionally), and an asterisk before
the description signifies that the file is new since the
user's last call.
If, instead of the full path to the file area, you put a
"/F", RemoteAccess will substitute the path name that
corresponds to the currently selected template file area, as
defined in RACONFIG. See the MENU TEMPLATE section for
further information on this.
────────────────────────────────────────────────────────────
Type : 32
Name : Download a file from area
Optional Data : <Full path> or /F [Password]
Enables the user to download any file that is contained in
the specified directory. Note that the file need not be
listed in that directory's FILES.BBS for the user to be able
to download it. If a password is specified, the user will be
asked for a non case-sensitive password before being allowed
31
to proceed with the transfer. The /F option works in the
same way as in function 31.
────────────────────────────────────────────────────────────
Type : 33
Name : Upload a file
Optional Data : <Full path> or /F
Enables the user to upload (send) a file to your system. The
file will be placed in the directory specified in the
optional data path. FILES.BBS will be automatically updated
to reflect the upload. The /F option works in the same way
as in function 31 and 32.
────────────────────────────────────────────────────────────
Type : 34
Name : View archive
Optional Data : <Full path> or /F
Allows the user to view the contents of an archived file in
the specified directory. At present, only ZIP and LZH files
are supported, but this will be expanded in the future. Menu
templating is supported with the /F option. This explained
more fully in MENU TEMPLATES.
────────────────────────────────────────────────────────────
Type : 35
Name : File scan by keyword
Optional Data : None
This function uses the data specified in RACONFIG to search
all file areas that the user has access to for a key-word
that is supplied by the user. Any FILES.BBS entries that
match are displayed with the name of the area the match was
found in.
────────────────────────────────────────────────────────────
Type : 36
Name : File scan by file name
Optional Data : None
Same as function 35, but scans for an exact file name match.
────────────────────────────────────────────────────────────
Type : 37
Name : Show new files
Optional Data : None
Scans all file areas that the user has access to for files
that have a date more recent than the date of the user's
32
last log-on.
────────────────────────────────────────────────────────────
Type : 38
Name : Type (view) a text file
Optional Data : <Full path> or /F
Allows the user to type to the terminal the contents of a
plain ASCII/ANSI text file in the specified directory. This
is useful for on-line file lists or magazines. The /F option
overrides the path name with the currently selected template
file area path.
────────────────────────────────────────────────────────────
Type : 39
Name : Display a fully named text file
Optional Data : <Full path and name>
Similar to the type 5 function, but allows you to specify
the full path and name (including extension) of the file
that will be displayed. Like the type 5 function, this also
interprets the special control characters.
────────────────────────────────────────────────────────────
Type : 40
Name : Display an ASC/ANS text file with hot keys
Optional Data : <1-8 character name>
Displays an ASC/ANS text file the same way as a type 5
would, but leaves the current menu hot keys active while the
file is displayed. This allows the use of elaborate graphics
in your menus that would be impossible to create with the
line editor. See also AUTOMATIC COMMAND EXECUTION for
details on how to integrate these files into your menus.
────────────────────────────────────────────────────────────
Type : 41
Name : Toggle full screen editor
Optional Data : None
Allows the user to select or deselect the use of the full
screen message editor. Use of the editor is only permitted
if the user has ANSI graphics enabled.
────────────────────────────────────────────────────────────
33
Type : 42
Name : Toggle hot-keys
Optional Data : None
Allows the user to choose between hot-keys or command
stacking. In command stacking mode, several commands, or
key-presses, can be specified on one command line by putting
a semi-colon in between each command.
────────────────────────────────────────────────────────────
Type : 44
Name : Reset combined areas setting
Optional Data : None
Allows the user turn ON or OFF all available message areas
for his/her combined message area setting.
────────────────────────────────────────────────────────────
Type : 45
Name : Display text file and wait
Optional Data : <1-8 character name>
This is the same as a type 5 function, but prompts the user
to press [Return] before continuing. This is useful for
displaying text files that are generated automatically by
utilities that don't append a Control-A (wait character) at
the end of the file.
────────────────────────────────────────────────────────────
Type : 47
Name : Make a log entry
Optional Data : <Log entry>
When this command is executed, it simply takes the contents
of the Optional Data field and writes it to the system log
as if it were a normal hard-coded log entry.
────────────────────────────────────────────────────────────
Type : 48
Name : Download a specific file
Optional Data : <Full path and name>
Enables the user to download a file or set of files that you
have pre-defined, using a protocol of the user's choice.
Note that you may specify wild-cards and pattern match
characters in the file name, but if you do, the user will be
forced to use a batch transfer protocol. For example, a type
48 command with the following optional data field:
C:\FILES\RA\RELEASE\RA*.ZIP
34
Would send all files in the C:\FILES\RA\RELEASE directory
that matched RA*.ZIP.
────────────────────────────────────────────────────────────
Type : 51
Name : List today's callers
Optional Data : None
Lists every caller that has called your system since
midnight along with log on/off times, baud rate and what
line the call was taken on.
────────────────────────────────────────────────────────────
Type : 52
Name : Show all users on-line
Optional Data : None
Lists all users currently on-line. This would only be useful
in a multi-line installation. It shows where each caller is
calling from, their baud rate and the line they are
connected to.
────────────────────────────────────────────────────────────
Type : 53
Name : Toggle "Do not disturb"
Optional Data : None
This another multi-line feature only. It allows the user
turn on or off the ability of other users to send him/her
messages whith the type 54 function, like - "Hey Joe, I
noticed that you're on line 3. Wanna chat?" Note that the
sysop has the ability to override this and send a message
anyway.
────────────────────────────────────────────────────────────
Type : 54
Name : Send an on-line message
Optional Data : None
Allows the user to send a message to another user who is
logged on to another line at the same time. Provided that
the other user has not set his/her "do not disturb" flag,
the sender will be prompted for a one-liner to transmit.
Depending on what the recipient is doing at the time, he/she
will get the message ten to fifteen seconds later.
────────────────────────────────────────────────────────────
35
Type : 55
Name : Download any file
Optional Data : None
This is an extremely powerful function that should be only
accessible by the sysop. It allows the user to download a
file from any valid drive or directory using any of the
available file transfer protocols. Note that this the ONLY
download function that takes no account of download limits,
file ratios or transfer time, and does not update the users
record to reflect the download.
A u t o m a t i c C o m m a n d E x e c u t i o n
────────────────────────────────────────────────────────────
Normally a menu function would be activated when a user
presses the key that you have linked to that function.
However, it is possible to cause a function to be executed
automatically as soon as a menu is displayed by setting the
"activate key" to [CONTROL-A]. As soon as that particular
menu line is displayed the function is executed
automatically, without the need for the user to select the
option. This is a very powerful feature when used with the
type 40 menu function, which displays an ASCII/ANSI text
file while checking for menu hot-keys. By setting up the
first line of a menu as a type 40 with automatic execution,
as soon as the menu is called your text file is displayed
instead of the normal menu lines. This allows you to design
very elaborate graphical menu displays that contain extra
information about the user by inserting the special text
file control codes. What happens if a user "passes through"
a menu by using a stacked menu command? In some cases you
may want the automatic command to execute, for example to
redirect the user to another menu by automatic execution of
a type 1 or 2. On the other hand, if the command is only for
cosmetic purposes (maybe a text file to display some user
statistics) it would be better to skip the command and
continue straight to the next menu. Here's how it works :
An automatic command will only be executed as a user passes
through a menu if it is the first entry in the menu.
Conversely, to disable pass-through execution, put the
command on any line BUT the first. This is a very powerful
feature, as it gives you virtually unlimited control over
your menu and command sequencing.
36
M e n u T e m p l a t e s
────────────────────────────────────────────────────────────
The biggest drawback of other BBS packages that allow the
sysop the flexibility of designing his or her own menus is
the amount of maintenance that is necessary in updating the
menus. Until now it was necessary to have a separate menu
for each file and message area. The RemoteAccess menu
templating system alleviates this problem by allowing you to
set up one menu that will act as a "skeleton" for all your
message and file areas. Two "variables" are available to
you; "M" for the currently selected message area and "F" for
the currently selected file area. In your template menu(s),
where you would normally put the message area number in the
optional data field for say a "Read" command, put in "/M".
When the read is selected by the user, RemoteAccess will
substitute this for a message area number. Likewise, where
you would specify a full path for a file function, put a "/F
in the optional data field. RemoteAccess will replace this
variable with the path to the currently selected file area.
To put a value into one of these two variables, simply put a
"/M=<Area Number>" or "/F=<Area Number>" in the optional
data field of a type 1, 2 or 4 menu command. For example,
say you set up a message area template menu called
"MSGMENU", using the /M in the optional data fields. Another
menu, which you have set up to list the available message
areas, simply consists of type 1 or 2 menu commands to jump
to MSGMENU. One menu line looks like this:
<H>ard Disk Conference
This is a type 2 command, which will "gosub" to the MSGMENU
menu:
Type : 2
On the optional data line, put the name of the menu to jump
to, and also set the template variable.
Optional Data : MSGMENU /M=45
45 corresponds to the hard disk conference area, as defined
in RACONFIG.
There are two other constructs that work with the template
commands. /M=+ or /F=+ will increment the currently selected
template area by one, and /M=- or /F=- will decrement the
currently selected template area by one. RemoteAccess will
automatically scan all file (or message) areas in the
specified direction to determine the next area that the user
has been given access to.
NOTE: When RemoteAccess fires up, both the file and message
template areas default to area 1, as defined in RACONFIG. No
37
checking is done to verify the user's access to this area at
log-on, so you should set both file and message area 1 to
either a blank entry, or an area that all users have access
to.
There are a number of special characters that you can put in
the display line of a menu which will display certain system
information:
~ : Displays time remaining today.
^ : Switches between the normal line colours and the
overall menu highlight colours.
@ : Displays the name (as defined in RACONFIG) of the
currently selected file template area.
` : Displays the name (as defined in RACONFIG) of the
currently selected message template area.
S e t t i n g u p y o u r m e n u s
────────────────────────────────────────────────────────────
Spend some time thinking about how your menus will be set
up. Your BBS can be made to look as unique or as "uniform"
as you like - you can choose a subjective topology, where
the menus are organised according to area of interest, or a
functional topology, where menus are organised according to
their function. For example, a functional topology would
group all message areas together and all file areas
together, whereas a subjective topology would perhaps group
together several message and file areas that were related.
The diagram below illustrates this by depicting the same
systems using the two different topologies:
FUNCTIONAL
+----------Amiga messages
+---------Messages menu |
| +----------IBM messages
Main menu |
| +----------Amiga files
+------------Files menu |
+----------IBM files
SUBJECTIVE
+----------IBM files
+--------------IBM menu |
| +----------IBM messages
Main menu |
| +----------Amiga files
+------------Amiga menu |
+----------Amiga messages
38
Alternatively, you could even use a combination of the two
topology types.
The layout of your BBS is determined by how the menus are
set up. In many cases a user will not realise that he or she
is looking at a menu. The best technique for creating menus
is to create all the "low-level" menus first, then the main
menu, and then fill in between with the intermediate menus.
C r e a t i n g y o u r m e n u s - " R A M E N U "
────────────────────────────────────────────────────────────
Change to the system directory and fire up RAMENU.EXE; this
is the utility which allows you to create and edit your
menus. When run it will present you with a directory of
menus that have already been created - select one with the
cursor keys and press RETURN to edit, or simply press ESCAPE
to create a new menu.
A large window is opened that displays a line by line
summary of the menu. You may select a menu item to work on
by moving the hilight bar to the item with the cursor keys.
The following keys are available:
[RETURN] - Edit the currently selected menu item.
[INSERT] - Insert a new menu item immediately before the
current item.
[DELETE] - Delete the currently selected menu item.
[ALT-D] - Simulate what the menu would look like to a
user.
[ALT-P] - View or modify the menu prompt, its colour and
the menu highlight colours.
[ALT-S] - Save the current menu to disk.
[ALT-L] - Discard the present menu and load another from
disk.
Let's create the LOGOFF menu. Hit RETURN on the first blank
menu item to bring up the EDIT MENU ITEM window. The first
line of this menu will just display a message to the user,
so in the USER DISPLAY field, put "You have chosen to
disconnect. You may -". Move to the ACTION field and set it
to DISPLAY ONLY. Next select a suitable colour for the
display line in the COLOUR field. Since this is only a
39
display line, leave SECURITY and FLAGS as they are. Press
ESCAPE to return to the menu list, and note the entry you
have just created.
Now enter the user options for the menu. Move to the second
menu entry (add one with the INSERT key if necessary) and
press RETURN to edit. We'll give the user the option of
leaving a message to the sysop, so in the USER DISPLAY field
enter "<L>eave a message to the sysop". Set the ACTION to
POST A NEW MESSAGE (this is under the heading of MESSAGE-
BASE COMMANDS). This command requires a couple of parameters
in the optional data field - the number of the message area
to post the message in and the /T= parameter, to force the
message to be addressed to the sysop. It might look like
this:
80 /T=Andrew_Milner
(Message area 80 is set up as a "Messages to the sysop" area
that contains local private messages). Set the HOT-KEY to
"L" - this is the key that will activate the function. We
want all users to be able to leave a message, so set the
security level to 1.
The third line of the menu gives the user the option of
returning to the previous menu, so set this to a type 3,
with a suitable display line.
The actual log-off command is last. This will be a type 9
(Terminate Call). Set the hot-key to "G" and the display
line to something like "<G>oodbye (Logoff)".
The final step is to set the highlight and prompt options.
Press ALT-P from the menu list to bring up the EDIT MENU
SETTINGS window. Here you can tailor the menu by selecting
the menu prompt and its colour, along with the menu
highlight colour. Each menu line, in addition to it's own
colour, may contain an overall menu highlight colour. To
switch between the two colours on a menu line, simply insert
the ^ character; Note that this character isn't actually
displayed to the user, it just toggles the colours.
Experiment with this feature by inserting a few ^ characters
on display lines and viewing the menu with the ALT-D key.
Finally, save the menu by going back to the menu list and
pressing ALT-S. Save the menu with the name LOGOFF. Now,
whenever you need a "Goodbye" option in another menu, just
use a gosub (type 2) function to the menu LOGOFF.
There is one hard-coded menu called TOP. RemoteAccess
searches for this menu when a user logs on and displays it
first, so it MUST be present. The layout of the top menu is
up to you of course; it is recommended that you look at the
menus of other Bulletin Boards so you can incorporate their
best features into your own.
40
E X T E R N A L S U P P O R T F I L E S
────────────────────────────────────────────────────────────
There is very little that is actually "hard-coded" into
RemoteAccess. Below is a listing of text files you can place
in the text file directory to give your system just the
right "feel". See the section on TEXT FILE CONTROL CODES for
a list of special characters that can be used to display
system and user information from any of these files. Files
marked with an asterisk (*) have a default prompt if the
file is missing. All the files are plain ASCII which you can
create with your favourite text editor/wordprocessor, or
optionally ANSI which you will need a special ANSI editor to
create.
1ATATIME.A?? : This file is displayed if a user tries to log
* on to more than one line at once if multi-
line check has been enabled in RACONFIG.
DNLDHRS.A?? : This file is displayed if a user attempts a
* download outside the allowed hours as
defined in RACONFIG.
EDITHELP.A?? : This file is displayed if the user asks for
help while using the built-in message
editor.
EXPIRED.A?? : This file is displayed if the user's password
* has just expired, just before the user is
asked for a new password.
GOODBYE.A?? : This file is displayed when the user elects
to log off, just before the user is
disconnected.
LOCKOUT.A?? : This file is displayed if the sysop uses ALT-
* L while a user is on-line to lock him/her
out of the system.
LOGO.ASC : This file is displayed as soon as a
connection is made. This should contain the
name of your system and perhaps some other
general information.
MAXPAGE.A?? : This file is displayed if a user tries to
* page the sysop for a chat more times than
you have specified in RACONFIG.
NEWS.A?? : This file is a general news bulletin that is
displayed after RemoteAccess checks for
waiting mail (if the option is enabled), or
straight after the WELCOME file.
41
NEWUSER1.ASC : This file is displayed to a new user as soon
as he/she confirms that he/she entered
his/her name correctly.
NEWUSER2.A?? : This file is displayed after the user has
confirmed that he/she entered all the
standard logon questions correctly.
NO300.ASC : This file is displayed if a 300 baud caller
* attempts to log on during hours when 300
baud is not allowed, as defined in
RACONFIG.
NOTAVAIL.A?? : This file is displayed if a user tries to
* page the sysop for a chat outside paging
hours, as defined in RACONFIG.
NOTFOUND.ASC : This file is displayed if RemoteAccess
* cannot locate the name of a user at logon,
but before the user is asked to confirm that
he/she entered the name correctly.
NOTSYSOP.A?? : This file is displayed if a user attempts to
* post a message to "Sysop" in an EchoMail
message area.
PAGEABRT.A?? : This file is displayed if the sysop chooses
* to abort a page for chat by the user.
PAGED.A?? : This file is displayed after the user has
paged for a chat if the sysop does not
answer the page. Something like "Okay, the
sysop has been paged and will break in for a
chat if he/she walks past."
PASSWORD.A?? : This file is displayed before the user is
asked to select a new password. This file
should stress the importance of choosing a
suitable password!
PRIVATE.ASC : This file is displayed if a new user tries
* to log on to your system and you have set it
up as a private, pre-register BBS.
RATIO.A?? : This file is displayed if the user tries to
* do a download which would exceed his/her
ratio of number of files.
RATIOK.A?? : This file is displayed if the user tries to
* do a download which would exceed his/her
ratio of K of uploads to K of downloads.
READHELP.A?? : This file is displayed if the user asks for
help while reading messages.
42
SEC#.A?? : These files are displayed to users of a
particular security level directly after the
WELCOME file, but before the mail check (if
enabled). For example, the file
SEC10.ASC/ANS, if present, would be
displayed to all users with security level
10.
TIMEWARN.A?? : This file is displayed at log on if the
* user's time limit has been adjusted to
accomodate an upcoming event.
TODAYK.A?? : This file is displayed if the user attempts
* a download which would exceed his/her daily
download limit.
TOOSLOW.ASC : This file is displayed if a user tries to
* log on at a speed lower than the minimum
required to log on to your system as defined
in RACONFIG.
TRASHCAN.ASC : This file is displayed if a user enters an
* unacceptable name at log on, as listed in
the TRASHCAN.CTL file.
WELCOME.A?? : This file is displayed after the user logged
on, or in the case of a new user, after
completing the new user procedure. This can
be a fairly elaborate title screen that
welcomes your users to the BBS.
WELCOME1.A?? : This file is displayed directly after the
WELCOME file, and could contain extra system
information, maybe a "today in history"
quote, or something similar.
XFERTIME.A?? : This file is displayed if the user attempts
* a download that would exceed his/her daily
time limit.
In addition to these ASC/ANS files, there are also four
*.CTL files that define various security aspects of the
system:
LIMITS.CTL : This file allows you specify, for each
security level, a daily time limit, file
download limit for each baud rate, and
optional file ratios, either in number of
uploads to number of downloads, or in total
kilobytes uploaded to total kilobytes
downloaded. The format of the file is as
follows:
43
<Sec Lvl> <Time> <300> [1200] [2400] [4800] [9600]
or:
<Sec Lvl> <Time> <300> <1200> <2400> <4800> <9600> <R#> [RK]
Where <Sec Lvl> is the security level,
<Time> is the daily time limit, <300> to
<9600> are respective download limits
depending on what baud rate the user calls
at. <R#> is the ratio of uploads to
downloads, and [RK] is the ratio of uploads
in K to downloads in K.
If you only specify a download limit for say
300, 1200 and 2400 baud, the download limits
for the higher baud rates default to the
highest baud rate specified, in this case
the limit set for 2400 baud.
If you specify a ratio by number (R#) value,
then the user will be required to upload one
file for every n they download. Similarly,
setting the ratio by K will allow the user
to download only the specified kilobytes of
files per 1 kilobyte uploaded.
This is fairly complicated, so look at this
example LIMITS.CTL:
5 35 0
10 60 100 200 350 650 900 5 10
20 90 150 250 470 750 900 5
30 120 250 400 600 900 1200
50 300 900
Security level 5 entitles the user to 35
minutes per day, but no downloads.
Security level 10 entitles the user to 60
minutes per day, 100k of downloads at 300
baud, 200k at 1200 baud, 350k at 2400 baud,
650k at 4800 baud, and 900k at 9600 baud or
faster. In addition, the user must upload at
least one file for every five downloaded,
and may not download more than ten times the
total size of files uploaded.
Security level 20 entitles the user to 90
minutes per day, 150k of downloads at 300
baud, 250k at 1200 baud, 470k at 2400 baud,
750k at 4800 baud and 900k at 9600 baud or
faster. In addition, the user may only
download five times the number of files
he/she uploaded.
Security level 30 entitles the user to 120
44
minutes per day, 250k of downloads at 300
baud, 400k at 1200 baud, 600k at 2400 baud,
900k at 4800 baud and 1,200k at 9600 baud or
faster. There are no ratio restrictions.
Security level 50 entitles the user to 300
minutes per day, and 900k of downloads at
all speeds without any ratio restrictions.
PHONENUM.CTL : Use this file to specify phone numbers or
segments of phone numbers that you know to
be false. A PHONENUM.CTL that contains:
00-
000-
-0000
Would disallow the numbers "00-123-4567",
"000-123-4567", "009-0000-1234". The rule
here is that none of the specified numbers
is allowed to be imbedded anywhere in the
user's phone number.
PWDTRASH.CTL : Allows you to specify a list of passwords
that users are not allowed to use. This
could contain passwords like SECRET, or
TEST.
TRASHCAN.CTL : Allows you specify a list of names that
users may not use to log on to your system.
In this file, specify the undesirable names
one per line. If for example you did not
want the names "Sysop", "Jack Daniels" or
"Superman" used, simply put the following
lines in this file:
Sysop
Jack Daniels
Superman
The tests done on names is NOT case-
sensitive, so the name "SYSOP" would also be
invalid. Names that contain any part of the
names in the list are not allowed either.
45
T H E U S E R F I L E
────────────────────────────────────────────────────────────
The user file is possibly the most important single file on
your BBS. It contains all the information about each user's
history, screen settings, and vital security data. Switch to
your system directory and fire up USERED.EXE. This
utility allows you to add, modify or delete any user's
record. If there are already some users in the user-file,
you will be presented with a list showing each user's name,
location and security level. Select a user either by typing
in the name, or moving the highlight bar to the entry on the
screen and pressing RETURN.
After the user is selected you will be presented with the
Edit Screen. This lists the entire user's record which can
be modified and saved if you wish.
If there are no users already in the user-file, the Edit
Screen will appear immediately for you to enter the details
of the first user. Note that the only required piece of
information (or "field") is the name, and you can't proceed
any further until you enter one. You'll want to be included
in the user file, so enter your own name in this field.
Next, go through each of the other fields and enter the
correct details. When finished, press [CONTROL-ENTER] to
save the information and then ESCAPE to exit. If you don't
want to save, just press ESCAPE by itself.
To add a new user, simply press the INS key on the user list
screen and a blank record will be created for you to edit.
Deleting a user is accomplished by moving the highlight bar
to the user you want to delete and pressing the DEL key. A
marker will appear in the right hand column to signify that
the user is marked for deletion. Note that the user isn't
actually removed from the user file at this stage. Users
that have been marked for deletion are removed by packing
the user-file, which should be done regularly using the
utility RAUSER.
P a c k i n g & s o r t i n g t h e u s e r - f i l e
────────────────────────────────────────────────────────────
RAUSER.EXE is the utility that is used to maintain the user-
file. Not only will it remove users marked for deletion, it
can also delete users that have not called your BBS for a
certain number of days as well as sort the users in order of
security level and surname. RAUSER must be run from your
system directory, ie. where the user-file is stored. You
specify what it is to do by using one or more of the
following command line parameters:
46
-P Pack the user-file, removing users marked for
deletion.
-S Sort users in order of security level and
surname.
-D[n] Delete users who have not called for [n] days.
-L[xxx] Log activity summary to log file [xxx].
M A I L N E T W O R K I N G
────────────────────────────────────────────────────────────
What is a mail network? Basically it is a set of bulletin
board systems that are capable of exchanging messages and
files with each other without the need for human
intervention. All the discussion which follows relates to
FidoNet, the world's largest amateur mail network. FidoNet
consists of approximately 5,000 bulletin board systems, each
of which is assigned a unique "address". A file called a
nodelist stores all these addresses along with other
information about each system. Think of it like an
international "telephone book".
Being part of a network has two basic attractions; NetMail
and EchoMail. NetMail allows you to send a private message
to any user of any one of the bulletins boards in the
network at little or no cost to you. EchoMail is a method of
creating a huge message area that many hundreds of systems
can potentially participate in. Usually all EchoMail areas
will contain only public messages, and are organised into
either general discussion areas, or areas that deal with
specific issues and or topics.
The net is organised into several levels, which are usually
based on geographical proximity. At the highest level there
are five "zones"; zone 1 is the USA, zone 2 is Europe, zone
3 is the Pacific Rim, zone 4 is South America and zone 5 is
Africa. Within each zone are a number of "regions" that span
large geographical areas. Typically there will be between 5
and 18 regions per zone. Each region is further divided into
"nets". Each net has a unique net number, and the
distribution of these nets is also based on geographical and
technical considerations. Finally, within the net are a
number of nodes. A node refers to a single bulletin board
system.
To find out about obtaining a node number, or an "address",
contact the nearest FidoNet bulletin board. The sysop will
usually be more than happy to help you out.
47
Before going any further, let's talk about the extra
software you will need to set up as a node. Firstly you will
need an echomail processor. This is the program which
unpacks the mail you will receive, and imports it into your
RemoteAccess message-base, as well as packing up outbound
mail that needs to be sent out. RemoteAccess does NOT
include such a beast. There are several other processors
around that will do the job:
Echogen and QEcho, both by Adam Hudson,
ZMailQ, by Claude N. Warren,
TosScan, by Joaquim Homrighausen.
The last two are commercial products, and require the
payment of a small fee to purchase them. Echogen and QEcho
are shareware, and as such require no initial payment, but
they both have KNOWN bugs, although both are still fully
functional.
The other piece of software you'll need is a mailer.
RemoteAccess will not directly communicate with other
network bulletin boards, so a separate program fills the
gap. The two recommended mailers are:
FrontDoor, by Joaquim Homrighausen,
BinkleyTerm, by Bit Bucket Software.
Both of these products are shareware, and like the echomail
processors, will usually be available on most FidoNet
bulletin boards if you ask the sysop nicely enough.
The node number you are assigned will be of the format
Zone:Net/Node.Point. This initial node number should be put
into your configuration file using the ADDRESS option of
RACONFIG. Don't worry about the AKA addresses at this stage.
The next step is to set up your EchoMail message areas. You
will usually be given a list of areas that are available to
you. Each area is identified by an uppercase alphanumeric
name. As far as RemoteAccess is concerned, all you need is a
description of each area you plan to "plug into". Fire up
RACONFIG, and go to the MESSAGE AREAS window. Select an
unused message area, and enter the area's name in the NAME
field. Next, set the TYPE OF MAIL field to ECHOMAIL, and
MESSAGE STATUS to PUBLIC. Most EchoMail areas don't allow
the use of aliases, so set this to "No". The AKA ADDRESS
line shows your assigned node number. If it doesn't, hit
RETURN on this option and select the correct address.
Each EchoMail message that is posted on your system could
potentially be read by hundred of other sysops and users, so
you can put a "one-liner" at the end of each message. In the
ORIGIN LINE field enter a short message. This should contain
at least the name of your system, and possibly where it is
or the phone-number, so that other users know where to call.
48
Your node number is also appended to the end of the message,
so a typical origin line might read:
* Origin : RemoteAccess HQ (3:690/625.0)
(Don't put the "* Origin" part in - this is added by the
software). If you don't specify an origin line for a
particular area, RemoteAccess will use the DEFAULT ORIGIN
LINE.
The next step is to configure RemoteAccess for NetMail.
Select another unused message area, and call it "NetMail",
or something similar. Next, set the TYPE OF MAIL to NETMAIL,
and MESSAGE STATUS to PRIVATE. NetMail messages don't have
origin lines appended to them so leave the origin line entry
blank.
That's it! RemoteAccess is now fully configured for network
mail. Assuming that you have a suitable mailer and echomail
processor, all that is required is to set them up correctly
and you're in business. An explanation of setting these up
is beyond the scope of this document, full instructions are
available with each respective package.
M U L T I - L I N E O P E R A T I O N
────────────────────────────────────────────────────────────
It is assumed that you have some knowledge of running
RemoteAccess already, or have at least run a single line BBS
for some time. If you haven't, it is strongly recommended
that you run on one line for a little while to familiarise
yourself with the terminology and operation of RemoteAccess.
The idea of multi-line operation is that more than one user
can be on-line at the same time to the same BBS. To do this
safely, it is necessary for RemoteAccess to manage the
configuration and data files it uses very carefully.
Firstly, tell RemoteAccess that it's running in multi-line
mode by setting the MULTI LINE option to "Yes" in RACONFIG.
You should also set CHECK FOR MULTI LOGON to "Yes". Not
doing this can cause unpredictable results when a user logs
on to more than one line at once.
49
Multi-line operation also requires that you create a
separate directory for each line to accomodate any doors and
external utilities (this includes the full screen ANSI
editor, if you have one installed) that were only written
for single-line operation. The idea is that each external
program can function at the same time as others in a
separate directory where they won't interfere with each
other. A good example of this is the full-screen editor. If
you are using QuickEd, you'll need to copy the QUICKED.CFG
file to each of the separate directories you have created.
Picture what would happen if RemoteAccess tried to fire up
two copies of QuickEd at the same time in the same
directory.. The temporary files that QuickEd uses would
overwrite each other and cause horrific results. By
isolating the files in separate directories these problems
are avoided.
RemoteAccess keeps a separate log and system usage graph for
each line. In order not to have the logs written to the same
file, you should set the log file name in RACONFIG to one
which specifies only the file name of the log, rather than a
full path and name. This will ensure that RemoteAccess will
write to a log file in the default directory, which will be
different for each line.
Beware of third party utilities that write to the system
files! RemoteAccess is specifically written so that many
users can read and post messages simultaneously to the same
message-base, but other programs probably AREN'T. Check the
documentation very carefully before you fire up your
favourite off-line mail editor and start posting messages
while someone else is on-line. Similarly, if your echomail
processor does not lock the message-base files while
working, you should set up your system to ensure that mail
is never imported when there is a user on-line. Exporting
messages however, IS permitted.
It's quite likely that you'll need to increase the FILES
setting in your CONFIG.SYS if RemoteAccess is running
several lines under a multitasker. You'll also need a
separate batch-file for each line to invoke RemoteAccess
with the correct command-line parameters. See the reference
section on command-line parameters for information on the -N
parameter.
50
R E F E R E N C E S E C T I O N
────────────────────────────────────────────────────────────
S y s o p k e y s
────────────────────────────────────────────────────────────
The following keys work while a user is on-line:
[F1] to [F3] : Comprehensive user statistics on an optional
two-line status bar at the bottom of the
screen.
[F4] : System statistics. This is the default status
bar that is displayed when RemoteAccess is
waiting for a call.
[F9] : Help! Hot-key summary.
[F10] : Turn off the status bar, to show exactly what
the user is seeing. [F1] to [F4] brings it
back.
[ALT-Fn] : Activate one of ten programs in a shell, or
exit to DOS at a certain errorlevel.
[ALT-C] : Break in for a chat if there is a user on
remotely. ESC finishes chat mode and drops
the user back to the BBS.
[CTL-A] : Opens and closes a capture file during a
chat session.
[ALT-D] : Toggles "Snoop" mode, ie. whether the local
screen shows what the user is doing.
[ALT-F] : Alter the current user's flag settings.
[ALT-H] : Hang up on the user immediately.
[ALT-J] : Drop to a DOS shell while the user is still
on-line.
[ALT-L] : Lock the user out of the system by dropping
his/her security level to zero and hanging
up.
[ALT-P] : Toggle printer logging.
[ALT-S] : Alter the current user's security level.
[ALT-T] : Alter the current user's remaining time limit.
51
[ALT-O] : Override paging hours. This allows you to
enable or disable sysop paging regardless of
the time. Note that this is permanent, and
affects all lines until reset.
[Up-Arrow] : Increase the user's time by one minute.
[Down-Arrow] : Decrease the user's time by one minute.
When the system is waiting for a call, the only sysop key
that is active is [ALT-O], however, pressing [L] will allow
you to log-on locally, and [ESC] will terminate the program
and return to DOS.
C o m m a n d - l i n e p a r a m e t e r s
────────────────────────────────────────────────────────────
RemoteAccess accepts the following command-line parameters:
-L : Run RemoteAccess in local mode.
-S : Set "snoop" mode off; disable local screen.
-D : Disable status bar by default.
-R : Log user back on-line after a menu type 15 exit.
-P : Log user activity to printer.
-Nxx : Line (node) number in a multi-line system (1-99).
-Cx : Communications port to use (1-4).
-Bxxxxx : Log user on-line at baudrate xxxxx.
-Exxx : Exit at errorlevel xxx after caller logs off.
-Txxx : Time (in minutes) until next system event.
-M<f> : Activate the "shell to mailer" feature. This
causes RemoteAccess, upon loading, to execute your
front-end mailer program in a DOS shell. When the
mailer exits, RemoteAccess detects the errorlevel
it would normally pass to the batch-file. If the
errorlevel matches one defined in RACONFIG, the
user is logged on to the BBS at the appropriate
baud rate. If the errorlevel is not recognised as
an incoming call, RemoteAccess exits to its
batch-file at that errorlevel. See the BATCH FILE
EXAMPLES section for more on this feature.
NOTE: RemoteAccess does the swap by storing a
"swap file" in EMS (if available) and on disk.
Normally this file would be stored in the default
directory, but it is possible to force
RemoteAccess to put the file in a directory of
your choice by setting the RATEMP environment
variable. For example, if you executed the DOS
command SET RATEMP=E:\TEMP\STORAGE, then the swap
file would be placed in the E:\TEMP\STORAGE
directory.
52
E r r o r l e v e l s
────────────────────────────────────────────────────────────
When RemoteAccess exits to DOS either after a user logs off
or because of a menu type 15 "Exit to DOS" function it
returns an errorlevel that your batchfile should test for
and act on accordingly:
Errorlevel Meaning
---------- -------
0 User logged off OK, default value. Note - this
can be overridden with the -E command line
parameter.
1 Initialisation error - couldn't find the FOSSIL
driver, or the modem failed to initialise.
2 Special error condition; used for Beta versions
only.
3 The user entered one or more NetMail messages
during the session. The message base should be
scanned for outgoing NetMail.
4 The user entered one or more EchoMail messages
during the session. The message base should be
scanned for outgoing EchoMail.
5 Both NetMail AND EchoMail messages were entered.
T e x t f i l e c o n t r o l c o d e s
────────────────────────────────────────────────────────────
There are a range of special control characters that can be
inserted in any of your ASCII/ANSI files that cause certain
system and user information to be displayed. There are three
classes of codes. Each code is a two-character combination
of a control-code followed by by a normal character:
Character
ASCII# Combination Purpose
------ ----------- --------------------------------------
01 ^A Wait until the [Return] key is pressed
02 ^B Disable aborting with the "S" key
03 ^C Enable aborting with the "S" key
04 ^D Enable the "Continue?" prompt
05 ^E Disable the "Continue?" prompt
06 ^F * Insert a user parameter
07 ^G Produce a beep on the caller's console
08 ^H Backspace
09 ^I Tab (forward 8 characters)
10 ^J Linefeed
11 ^K * Insert a system parameter
53
12 ^L Clear screen
13 ^M Carriage return
16 ^P Pause for one second
17 ^Q RESERVED FOR XON/XOFF HANDSHAKING
19 ^S RESERVED FOR XON/XOFF HANDSHAKING
24 ^X * Execute a program in a DOS shell
26 ^Z END OF FILE MARKER. DON'T USE THIS!
* EXECUTING A PROGRAM IN A DOS SHELL:
This gives you the ability to run an external program in a
DOS shell whenever RemoteAccess encounters a ^X embedded in
a text file. The ^X is followed by the command line you want
to execute, and terminated with the pipe symbol (|). For
example, to run an external mail checking utility when a
user logs on you could embed the following entry in the
WELCOME.A?? file:
^X\RA\MAILCHEK.EXE *B *F *L|
RemoteAccess would then execute the following DOS command:
\RA\MAILCHEK.EXE 2400 FirstName LastName
Note that you MUST terminate the command with the pipe
symbol. All special DOS shell control codes may be used as
per the type 7 menu function.
BEWARE! Use this feature with caution. Imagine the damage
that this embedded command could do:
COPY \RA\USERS.BBS \RA\FILES\IBM\NEWFILES
If there is any possibility of a user being able to modify
any of the text files that your system displays, then
disable the shell feature by using the option in RACONFIG.
"Note to next user" programs are notorious for this! If you
don't think it ever happens, then maybe this will convince
you. A local sysop was watching his board one afternoon and
noticed that when a user logged off, he got the following
message:
"Hey, Joe! What sort of a password is ROCKET? Next time
choose a harder one!! ... Fred"
The sysop couldn't believe his eyes. How could this have
happened? Well, the "note to next user" utility he had
installed a few weeks earlier was to blame. It actually
allowed a user upload a short text file that was appended to
the GOODBYE disconnect file. "Fred" had simply inserted a
few control characters into the file that would display the
current user's first name and password, which of course
would always be correct for whoever viewed it. Well, it
shook that sysop up a bit, as well as teaching him a lesson.
Luckily the ^X feature wasn't enabled, or anything could
have happened...
54
* User Parameter Codes
----------------------
Character
ASCII# Combination Information displayed
------ ----------- ---------------------------------------
65 ^FA Users full name
66 ^FB Location
67 ^FC Password
68 ^FD Business/Data phone number
69 ^FE Voice/Home phone number
70 ^FF Date of last call
71 ^FG Time of last call
72 ^FH A Flags setting
73 ^FI B Flags setting
74 ^FJ C Flags setting
75 ^FK D Flags setting
76 ^FL NetMail credit remaining (cents)
77 ^FM Total messages posted
78 ^FN Last message read
79 ^FO Security level
80 ^FP Total calls to the BBS
81 ^FQ Number of uploads
82 ^FR Kilobytes of uploads
83 ^FS Number of downloads
84 ^FT Kilobytes of downloads
85 ^FU Minutes used today
86 ^FV Current screen length
87 ^FW First name only
88 ^FX ANSI setting (ON/OFF)
89 ^FY "Continue?" prompt setting (ON/OFF)
90 ^FZ Screen clearing (ON/OFF)
48 ^F0 Full screen editor (ON/OFF)
49 ^F1 Quiet/do not disturb mode (ON/OFF)
50 ^F2 Hot-Keys (ON/OFF)
* System Parameter Codes
------------------------
Character
ASCII# Combination Information displayed
------ ----------- ---------------------------------------
65 ^KA Total system calls
66 ^KB Last caller (any line)
67 ^KC Number of active messages
68 ^KD System starting message number
69 ^KE System ending message number
70 ^KF Number of times user has paged sysop
71 ^KG Day of the week (full form)
72 ^KH Number of users in the user file
73 ^KI Time in 24 hour format
74 ^KJ Today's date
75 ^KK Minutes connected this call
76 ^KL Seconds connected (always returns 0)
55
77 ^KM Minutes used today
78 ^KN Seconds used today (always returns 0)
79 ^KO Minutes remaining today
80 ^KP Seconds remaining today (always 0)
81 ^KQ Daily time limit
82 ^KR Current baud rate
83 ^KS Day of the week (abbreviated form)
84 ^KT Daily download limit (in K)
85 ^KU Minutes until next system event
86 ^KV 24 hour format time of the next event
87 ^KW Line number (as set on command line)
88 ^KX TERMINATES THE CALL
M o d e m s t r i n g t r a n s l a t i o n
────────────────────────────────────────────────────────────
RemoteAccess recognizes certain characters embedded in your
modem initialise strings, and converts them to special
functions. The supported characters are:
^ Raise DTR, modem will answer the phone.
v Lower DTR, disconnect if connected.
~ Wait for 1/4 of a second before continuing
| Send a carriage-return [CR] to the modem
Q u e s t i o n n a i r e s c r i p t l a n g u a g e
────────────────────────────────────────────────────────────
Questionnaire script files are stored in the system
directory and have the extension .Q-A. Each file is plain
ASCII, and contains one command per line. The available
commands are listed below. Note that the command interpreter
is case-insensitive, so the command "Ask" could be entered
as "ASK" or "ask".
56
Ask <Len> <Var num>
-------------------
Example : Ask 15 3
Waits for the user to input a string that is up to 15
characters long, and stores the string in the variable <Var
num>. Valid values for <Len> are 1 to 255. <Var num> may be
any number between 1 and 20.
ChangeColor <Foreground> <Background>
-------------------------------------
Example : ChangeColor 7 1
Changes the colour of the text if the user has ANSI graphics
enabled. Valid colours are:
<Foreground> <Background>
------------ ------------
0 Black 0 Black
1 Blue 1 Blue
2 Green 2 Green
3 Cyan 3 Cyan
4 Red 4 Red
5 Magenta 5 Magenta
6 Brown 6 Brown
7 Light Grey 7 Light Grey
8 Dark Grey
9 Light Blue
10 Light Green
11 Light Cyan
12 Light Red
13 Light Magenta
14 Yellow
15 White
ClearScreen
-----------
Example : ClearScreen
Clears the user's screen if he/she has enabled screen
clearing.
57
Display "<Text>"
----------------
Example : Display "Please answer ALL questions|"
Displays the specified text on the screen. The vertical bar
is translated to a line-feed and carriage return. If this
bar is ommitted, any following text starts at the next
character on the same line.
DisplayFile <1-8 character file name>
-------------------------------------
Example : DisplayFile BBSRULES
Causes a text file to be displayed in the same way as a menu
type 5 would be displayed. The text file must be in the text
file directory, and have the extension .ASC/.ANS.
EndIf
-----
Example : EndIf
Signifies the end of an IF statement.
If <Var num> = "<String>"
-------------------------
Example : If 5 = "Perth"
The IF command compares the contents of the specified
variable number with <String>. If the two do not match, then
all following lines are skipped until an ENDIF statement is
encountered.
GetChoice <Valid choices> <Var num>
-----------------------------------
Example : GetChoice YN 2
Waits for the user to enter one of the characters in <Valid
choices>, and stores the response in the variable <Var num>.
58
OutputAnswer "<Descriptor>" <Var num>
-------------------------------------
Example : OutputAnswer "Hobbies : " 6
Outputs <Descriptor> followed by the contents of the
variable <Var num> to the questionnaire answer file. The
answer file is given the same name as the questionnaire file
but has an extension of .ASW.
PostInfo
--------
Example : PostInfo
Outputs the user's name and some other information to the
answer file.
Quit
----
Example : Quit
Terminates the questionnaire and returns to the BBS.
SetFlag <Flag set><Flag number> <ON|OFF>
----------------------------------------
Example : SetFlag C3 OFF
Turns on or off the specified user flag. <Flag set> is "A",
"B", "C" or "D", and <Flag number> is a number between one
and eight.
SetSecurity <Security level>
----------------------------
Example : SetSecurity 10
Simply sets the user's security level to the number
specified. The level may be any number from 1 to 64,000.
59
B A T C H F I L E E X A M P L E S
────────────────────────────────────────────────────────────
These examples are not usable in their presented form. They
are provided as a starting point for your own batch files:
Using RemoteAccess stand-alone (ie. without a mailer)
-----------------------------------------------------
:START
Cd \RA
REM Run the main program:
RA -E20
REM User logged off, cycle back:
if errorlevel 20 goto START
REM RemoteAccess exits to the batchfile with errorlevel 7
REM once a night:
if errorlevel 7 goto CLEAN
if errorlevel 3 goto START
REM Any errorlevel < 3 means a fatal error, so we quit:
goto END
:CLEAN
REM Do nightly message and user maintenance with RAUSER
and RAMSG
:END
echo RemoteAccess HQ Line 1 Down.
Using RemoteAccess with a mailer (FrontDoor or BinkleyTerm)
(using either TosScan or Echogen to process mail)
-------------------------------------------------
:START
cd \RA
REM Run the main program and run the mailer in a "shell".
REM The *M tells RemoteAccess to swap out of memory
REM before running the mailer.
REM Either FrontDoor : RA -m\FD\FD.EXE─*M -E20
REM or BinkleyTerm : RA -m\BT\BT.EXE─*M -E20
REM Any errorlevels that RemoteAccess does not understand
REM it passes back to the batchfile:
if errorlevel 150 goto CLEAN
60
if errorlevel 99 goto UNPACK
if errorlevel 20 goto START
if errorlevel 10 goto END
if errorlevel 5 goto NET&ECHO
if errorlevel 4 goto ECHO
if errorlevel 3 goto NET
goto END
:CLEAN
REM Do your nightly maintenance here. In this example
REM the mailer is set to exit at errorlevel 150 nightly.
:UNPACK
REM Toss incoming mail
REM Either : TOSSCAN toss
REM or : ECHOGEN -A -P -T -U
:NET&ECHO
REM Net and EchoMail needs to be exported from the
REM message base.
REM Either : TSUTIL export
REM or : MAILSCAN
:ECHO
REM Export EchoMail.
REM Either : TOSSCAN scan
REM or : ECHOGEN -A -E -P
goto START
:NET
REM Only export NetMail
REM Either : TSUTIL export
REM or : MAILSCAN
:END
REM Some fatal error occurred.
echo RemoteAccess HQ Line 2 Down.
* The Echogen command-line switches shown assume a FrontDoor
environment.
Note that the particular command-line switches for any of
these utilities (BinkleyTerm, FrontDoor, TosScan or
Echogen) will vary according to your set up. All of these
programs are supplied with documentation which will provide
you with this information. It is stressed again that these
examples are only intended to give you a starting point for
creating your own batch files.
61